﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO;
using System.Text;

namespace LunchRoller.Repositories
{
    public abstract class Repository<TValue>:ObservableCollection<TValue>
    {

        public static FileRepository<TValue> CreateXml(string fileName)
        {

            return new XmlRepository<TValue>(fileName);

        }
        public static FileRepository<TValue> CreateJsonArray(string fileName)
        {
            return new JsonArrayRepository<TValue>(fileName);

        }

        public static FileRepository<TValue> CreateJson(string fileName)
        {
            return new JsonRepository<TValue>(fileName);

        }
    }  
}
